package at.horario.model.algo;

public class ProfessorAlgo {
    private int num;
    private String nome;
    private int ch = 0;
    private int chMax;
    private String disciplina;
    private int ciclo;
    private int[] turmas;
    private int[] cargaHorariaTurmas;
    private HorarioAlgo horarioAlgo;
    private int[] indisponibilidades;


    /**
     * Constroi um profesor a partir do id, num, da disciplina que lecciona, do ciclo e do n�mero de hor�rios do quadro
     *
     * @param id
     * @param num
     * @param disciplina
     * @param ciclo
     * @param numHorarios
     */
    public ProfessorAlgo(Integer num, String disciplina, int ciclo, int numTurmas) {
        this.num = num;
        this.disciplina = disciplina;
        this.ciclo = ciclo;
        this.turmas = new int[numTurmas];
        this.cargaHorariaTurmas = new int[numTurmas];
    }


    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getCh() {
        return ch;
    }

    public void setCh(int ch) {
        this.ch = ch;
    }

    public int getChMax() {
        return chMax;
    }

    public void setChMax(int chMax) {
        this.chMax = chMax;
    }

    public String getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(String disciplina) {
        this.disciplina = disciplina;
    }

    public int getCiclo() {
        return ciclo;
    }

    public void setCiclo(int ciclo) {
        this.ciclo = ciclo;
    }

    public int[] getTurmas() {
        return turmas;
    }

    public void setTurmas(int[] turmas) {
        this.turmas = turmas;
    }

    public int[] getCargaHorariaTurmas() {
        return cargaHorariaTurmas;
    }

    public void setCargaHorariaTurmas(int[] cargaHorariaTurmas) {
        this.cargaHorariaTurmas = cargaHorariaTurmas;
    }

    public HorarioAlgo getHorario() {
        return horarioAlgo;
    }

    public void setHorario(HorarioAlgo horarioAlgo) {
        this.horarioAlgo = horarioAlgo;
    }

    public int getCargaHorariaTurma(int j) {
        return cargaHorariaTurmas[j];
    }

    public int[] getIndisponibilidades() {
        return indisponibilidades;
    }

    public void setIndisponibilidades(int[] indisponibilidades) {
        this.indisponibilidades = indisponibilidades;
    }
}
